package listbyorder.access101_200.test128;

import java.util.HashSet;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/6/9 22:26
 */
public class Solution2 {

    // 使用一个HashSet将数组的元素全部加入
    // 然后遍历数组，如果比当前你数小的元素还存在就遍历下一个
    public int longestConsecutive(int[] nums) {
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            set.add(nums[i]);
        }
        int max = 0;
        for (int i = 0; i < nums.length; i++) {
            int num = nums[i];
            //n - 1 是否存在
            if (!set.contains(num - 1)) {
                int count = 0;
                while (set.contains(num)) {
                    count++;
                    num += 1;
                }
                max = Math.max(max, count);
            }
        }
        return max;
    }
}
